﻿<?xml version="1.0" encoding="utf-8" ?>
<Recipe Name="BindingRecipe" xmlns="http://schemas.microsoft.com/pag/gax-core" xmlns:xi="http://www.w3.org/2001/XInclude">
  <DocumentationLinks>
    <Link Kind="NextStep" Caption="New Provider Factory and Base" Url="recipe://CreateProviderHierarchy" />
    <Link Kind="NextStep" Caption="New Provider (Untyped)" Url="recipe://NewCustomProvider" />
    <Link Kind="NextStep" Caption="New Provider (Typed)" Url="recipe://NewProvider" />
  </DocumentationLinks>
  <xi:include href="Common/CommonTypeAliases.xml"
              xpointer="xmlns(gax=http://schemas.microsoft.com/pag/gax-core) xpointer(/gax:Types)" />
  <Caption>Attaches guidance to the solution</Caption>
  <Actions>

    <!-- Providers -->

		<Action Name="ReferenceCreateProviderHierarchy" 
				Type="RefCreator"
				AssetName="CreateProviderHierarchy"
				ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />
		
		<Action Name="ReferenceNewTraceListener" 
        Type="RefCreator"
        AssetName="NewTraceListenerProvider"
        ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />
		<Action Name="ReferenceNewCustomTraceListenerProvider" 
        Type="RefCreator"
        AssetName="NewCustomTraceListenerProvider"
        ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />
		
		<Action Name="ReferenceNewAuthorizationProvider" 
        Type="RefCreator"
        AssetName="NewAuthorizationProvider"
        ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />
		<Action Name="ReferenceNewCustomAuthorizationProvider" 
						Type="RefCreator"
						AssetName="NewCustomAuthorizationProvider"
						ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />

		<Action Name="ReferenceFormatterProvider" 
         Type="RefCreator"
         AssetName="NewFormatterProvider"
         ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />
		<Action Name="ReferenceNewCustomFormatterProvider" 
        Type="RefCreator"
        AssetName="NewCustomFormatterProvider"
        ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />

		<Action Name="ReferenceLogFilterProvider" 
         Type="RefCreator"
         AssetName="NewLogFilterProvider"
         ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />
		<Action Name="ReferenceNewCustomLogFilterProvider" 
        Type="RefCreator"
        AssetName="NewCustomLogFilterProvider"
        ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />

		<Action Name="ReferenceSecurityCacheProvider" 
         Type="RefCreator"
         AssetName="NewSecurityCacheProvider"
         ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />
		<Action Name="ReferenceNewCustomSecurityCacheProvider" 
        Type="RefCreator"
        AssetName="NewCustomSecurityCacheProvider"
        ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />

		<Action Name="ReferenceExceptionHandlerProvider" 
         Type="RefCreator"
         AssetName="NewExceptionHandlerProvider"
         ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />
		<Action Name="ReferenceNewCustomExceptionHandlerclProvider" 
        Type="RefCreator"
        AssetName="NewCustomExceptionHandlerProvider"
        ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />

		<Action Name="ReferenceBackingStoreProvider" 
         Type="RefCreator"
         AssetName="NewBackingStoreProvider"
         ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />

		<Action Name="ReferenceStorageEncryptionProvider" 
         Type="RefCreator"
         AssetName="NewStorageEncryptionProvider"
         ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />

		<Action Name="ReferenceHashProvider" 
         Type="RefCreator"
         AssetName="NewHashProvider"
         ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />
		<Action Name="ReferenceNewCustomHashProvider" 
        Type="RefCreator"
        AssetName="NewCustomHashProvider"
        ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />

		<Action Name="ReferenceSymmetricCryptoProvider" 
         Type="RefCreator"
         AssetName="NewSymmetricCryptoProvider"
         ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />
		<Action Name="ReferenceNewCustomSymmetricCryptoProvider" 
        Type="RefCreator"
        AssetName="NewCustomSymmetricCryptoProvider"
        ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />

		<Action Name="ReferenceNewValidator" 
				Type="RefCreator"
				AssetName="NewValidator"
				ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />
		<Action Name="ReferenceNewCustomValidator" 
						Type="RefCreator"
						AssetName="NewCustomValidator"
						ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />

		<!-- General -->

    <Action Name="ReferenceNewProvider" 
    Type="RefCreator"
    AssetName="NewProvider"
    ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />

    <Action Name="ReferenceNewCustomProvider" 
    Type="RefCreator"
    AssetName="NewCustomProvider"
    ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />

		<Action Name="ReferenceConvertCustomProvider" 
     Type="RefCreator"
     AssetName="ConvertCustomProvider"
		 ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.UntypedProviderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" 
		 ConstructorParameterType="NameValueCollection"
		 />
		
		<Action Name="ReferenceConvertCustomTraceListener" 
     Type="RefCreator"
     AssetName="ConvertCustomTraceListener"
     ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.UntypedProviderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" 
	   ConstructorParameterType="NameValueCollection"
		 />

		<Action Name="ReferenceCreateDesignTimeNode" 
     Type="RefCreator"
     AssetName="CreateDesignTimeNode"
     ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />

		<Action Name="ReferenceCreateDesignTimeAbstractNode" 
     Type="RefCreator"
     AssetName="CreateDesignTimeAbstractNode"
     ReferenceType="Microsoft.Practices.EnterpriseLibrary.BlockFactory.References.ProjecrOrFolderReference, Microsoft.Practices.EnterpriseLibrary.BlockFactory" />
		
	</Actions>
</Recipe>